1. Field of the Invention
The invention is related to the field of communication systems, and in particular, to congestion handling in a packet communication system.
2. Statement of the Problem
Telephone networks may become congested for a variety of reasons. One reason for congestion in the telephone network may be problems with a switch in the network or with one or more resources in a switch. Another reason for congestion in the telephone network may be a mass calling event, such as ticket sales for a concert, a radio call-in promotion, a natural disaster, etc. During a mass calling event, there may be thousands of calls going through a particular switch of the telephone network. Switches have a limited capacity and the high volume of calls during the mass calling event can overwhelm the switch.
Traditional telephone networks are able to handle congestion by having the switches in the network communicate with each other. Assume that an originating switch transmits an SS7 call setup message for a call to a destination switch. Further assume that the destination switch is experiencing congestion and cannot properly handle the call. Responsive to receiving the call setup message, the destination switch processes a priority bit of the call setup message to determine if the call is a high priority call. If the call is a high priority call, then the destination switch attempts to connect the call. If the call is not a high priority call, then the destination switch may discard the call attempt if it has already sent an SS7 congestion message or may transmit an SS7 congestion message to the originating switch. Responsive to the congestion message, the originating switch performs call blocking on calls headed for the destination switch. The originating switch also provides call treatment for the blocked calls, such as playing tones or a message.
In a traditional telephone network such as this, the originating switch and the terminating switch are not considered end devices or end-user devices. The switches are owned and/or controlled by the telephone company, and not the end user, such as a customer of the telephone company. The end user may own a phone or computer, which may be considered an end device. However, because the switches are not end devices, the call blocking does not take place in an end device. Plus, end devices in the telephone network do not receive SS7 signaling, and consequently do not receive the congestion message from a congested switch.
To provide higher bandwidths and enhanced features, packet networks have been implemented for voice and data communications. Assume that a caller wants to place a voice call over a packet network using a Session Initiation Protocol (SIP) phone. To set up the call, the SIP phone sends an invite message to a gateway controller. Responsive to the invite message, the gateway controller responds to the SIP phone, such as with a network address of the destination of the call.
Problems occur in packet networks when the gateway controller is in a state of congestion. If the gateway controller is in a state of congestion, then invite messages transmitted to the gateway controller may be ignored, dumped, or discarded. If the SIP phone does not receive a response from the gateway controller after a period of time, then the SIP phone re-transmits the invite message to the gateway controller. This re-transmission of invite messages exacerbates the congestion problem in the gateway controller.
Further, when the invite messages are ignored, the SIP phone may sit quietly and not provide any call treatment to the end user of the SIP phone. The end user may not know the status of the call.
Problems further arise when the SIP phone is trying to place an emergency call, such as a 911 call. If the SIP phone transmits an invite message for an emergency call and the gateway controller is congested, then the gateway controller is not able to respond to the invite message from the SIP phone, even though the invite message is for an emergency call. Unfortunately, the invite messages currently are not marked as emergency or high priority messages. Because the invite messages are not marked, the gateway controller is not able to prioritize messages. The only way the gateway controller is able to determine that the invite message from the SIP phone is for an emergency call is to actually process the invite message. The gateway controller may have to process the invite message down to the dialed digits to identify the emergency status of the call. Processing the invite message uses up valuable resources in the gateway controller. When the gateway controller is already congested, it is unlikely that the gateway controller will be able to process the invite message. Unfortunately, invite messages for emergency calls may be ignored in current packet networks when a gateway controller is in a state of congestion.
One current way to handle congestion in a packet network is to reduce the workload of a signaling system, such as a gateway controller, which is referred to as load shedding. An example of a method for load shedding is illustrated in U.S. Pat. No. 6,650,619. Although load shedding may help temporarily reduce the workload of a gateway controller, the load shedding may not be enough to effectively handle congestion in a packet network.